توکن امضا دیجیتال

مفهوم کلیدهای رمزنگاری

تکنیک های رمزنگاری پیچیده به راحتی از روش های جابجایی یا جایگزینی استفاده نمی کنند. در عوض از یک کلید محرمانه برای کنترل یک توالی طولانی از جابجایی و جایگزینی های پیچیده استفاده می کنند. کلیدهای رمزنگاری و الگوریتم های رمزنگاری با یکدیگر همکاری می کنند تا یک متن اولیه را به یک متن رمزی تبدیل کنند. در اغلب موارد الگوریتم رمزنگاری ثابت و شناخته شده است و این کلید رمزنگاری است که یک نسخه یکتا ازاطلاعات رمزنگاری شده تولید می کند. در زیر انواع کلیدهای رمزنگاری توضیح داده شده اند:


کلیدهای محرمانه (تصادفی)


سیستم های کلید محرمانه تنها از یک کلید برای رمزنگاری و رمزگشایی اطلاعات استفاده می کنند. در این شیوه رمزنگاری، لازم است که هر جفت فرستند و گیرنده اطلاعات کلید جداگانه ای را برای رمزنگاری دارا باشند و حفظ کلید به صورت محرمانه بسیار اهمیت دارد. امنیت این روش در گرو حفظ امنیت کلید است. الگوریتم Data Encryption Standard (DES) یک نمونه از الگوریتم های کلید محرمانه است. چون فرض بر این است که الگوریتم شناخته شده و معلوم است، امن بودن انتقال و ذخیره کلید بسیار مهم است. کارت های هوشمند معمولا برای ذخیره کلیدهای محرمانه استفاده می شوند. در این حالت تضمین اینکه قلمرو کلید محدود است، مهم است: باید همیشه فرض کنیم که یک کارت ممکن است توسط افراد غیر مجاز با موفقیت تحلیل گردد، و به این ترتیب کل سیستم در مخاطره قرار گیرد.


کلیدهای عمومی و خصوصی


سیستم هایی که از این نوع کلیدها استفاده می کنند، نامتقارن خوانده شده و در واقع دارای یک زوج کلید هستند: یک کلید عومی و یک کلید خصوصی. در این سیستم هر کاربر دارای دو کلید عمومی و خصوصی است که لازم است کلید خصوصی محرمانه نگهداری شود ولی کلید عمومی در اختیار همگان است. در اینجا کلید عمومی و خصوصی به یکدیگر از لحاظ ریاضی وابسته هستند. کاربر می تواند با استفاده از کلید خصوصی که در اختیار دارد پیغام خود را رمزنگاری کرده و گیرنده آن را با استفاده از کلید عمومی رمزگشایی کند یا بالعکس.
امتیاز اصلی و مهم سیستم های کلید نامتقارن این است که آنها اجازه می دهند که یک کلید (کلید خصوصی) با امنیت بسیار بالا توسط صاحب آن نگهداری شود در حالی که کلید دیگر (کلید عمومی) می تواند منتشر شود. کلیدهای عمومی می توانند همراه پیام ها فرستاده شوند یا در فهرست ها لیست شوند (شروط و قوانینی برای کلیدهای عمومی در طرح فهرست پیام رسانی الکترونیکی ITU X500 وجود دارد)، و از یک شخص به شخص بعدی داده شوند. مکانیزم توزیع کلیدهای عمومی می تواند رسمی (یک مرکز توزیع کلید) یا غیر رسمی باشد.
یکی از نکات منفی سیستم های رمزنگاری با کلید عمومی توسط سناریوی زیر توضیح داده شده است. فرض کنید کاربر پیغام خود را با استفاده از کلید خصوصی رمزنگاری می کند. دریافت کننده پیغام می تواند از هویت فرستنده پیغام مطمئن باشد، یعنی تایید هویت به خوبی انجام می شود ولی مشکل اینست که هرکسی که دسترسی به کلید عمومی دارد می تواند اطلاعات مذکور را رمزگشایی کند. لذا این روش محرمانگی اطلاعات را حفظ نمی کند. از طرف دیگر در صورتی که اطلاعات توسط کلید عمومی رمزنگاری شوند، از آنجایی که تنها دارنده کلید خصوصی قادر به رمزگشایی آن است لذا محرمانگی آن حفظ می شود ولی مشکل در اینست که چون هرکسی می تواند به کلید عمومی دسترسی داشته باشد تایید هویت با مشکل روبرو می شود.
راه حل مشکل مذکور، استفاده ترکیبی از دو روش است، به طوریکه هم امکان تایید هویت وجود داشته باشد و هم محرمانگی اطلاعات حفظ شود. فرستنده پیغام خود را با استفاده از کلید خصوصی که در اختیار دارد رمزنگاری می کند و سپس با استفاده از کلید عمومی که مربوط به گیرنده است آن را مجدداً رمزنگاری می کند. در این حالت لازم است گیرنده پیغام ابتدا با استفاده از کلید خصوصی خود پیغام را رمزگشایی کند و سپس نتیجه را با استفاده از کلید عمومی فرستنده مجدداً رمزگشایی کند تا به اصل پیغام دسترسی پیدا کند. در این صورت پیغام رمزگذاری شده تنها با کلید خصوصی دریافت کننده قابل رمزگشایی است ور در نتیجه هم مشکل تایید هویت و هم حفظ محرمانگی اطلاعات برطرف شده است. در همه حالات فرض می شود که دارندگان کلید خصوصی مراقبت های لازم را برای حفظ امنیت کلید مذبور به انجام می رسانند.
البته دوبار رمزنگاری و رمزگشایی همه پیغام لزوماً مورد نیاز نیست. از آنجایی که در صورت استفاده فرستنده از کلید عمومی گیرنده، محرمانگی اطلاعات حفظ می شود، در نتیجه رمزنگاری تنها بخش کوچکی از پیغام، برای تایید هویت فرستنده کافی است. این قضیه ایده اصلی امضا دیجیتال را تشکیل می دهد.


کلید های اصلی و کلید های مشتق شده (Master keys and derived keys)


یکی از ایراداتی که به روش های پیشین وارد است تعداد زیاد کلید ها است که طبیعتاً منجر به سخت تر شدن مدیریت کلید می شود. یک روش برای کاستن از تعداد کلیدهایی که باید منتقل و ذخیره شوند، مشتق گرفتن از آنها در زمان مورد نیاز است. در یک برنامه اشتقاق کلید، یک کلید اصلی همراه با چند پارامتر مجزا برای محاسبه کلید مشتق شده استفاده می شود که بعداً برای رمزنگاری استفاده می گردد. برای مثال، اگر یک صادر کننده با تعداد زیادی کارت سر و کار دارد، می تواند برای هر کارت، با استفاده از کلید اصلی، شماره کارت را رمز کند و به این ترتیب کلید مشتق شده حاصل می شود و به آن کارت اختصاص داده می شود.


کلید های رمزکننده کلید (Key-encrypting keys)


از آنجا که ارسال کلید یک نقطه ضعف از نظر امنیتی در سیستم ها به شمار می رود، رمز کردن کلیدها هنگام ارسال و ذخیره آنها به شکل رمز شده منطقی به نظر می رسد. کلید های رمز کننده کلید، هرگز به خارج از یک سیستم کامپیوتری (یا کارت هوشمند) ارسال نمی شوند و بنابراین می توانند آسان تر محافظت شوند. اغلب برای تبادل کلیدها الگوریتم متفاوتی از آنچه که برای رمز کردن پیام ها استفاده می شود، مورد استفاده قرار می گیرد.
از مفهوم دامنه کلید برای محدود کردن میدان کلیدها و محافظت کردن از کلید ها در دامنه شان استفاده می کنیم. معمولاً یک دامنه، یک سیستم کامپیوتری خواهد بود که می تواند به صورت فیزیکی و منطقی محافظت گردد. کلید های استفاده شده در یک دامنه توسط یک کلید رمزکننده، کلید محلی ذخیره می شوند. هنگامی که کلید ها می خواهند به یک سیستم کامپیوتری دیگر فرستاده شوند، رمزگشایی و تحت یک کلید جدید رمز می شوند که اغلب به عنوان کلید کنترل ناحیه شناخته می شوند. با دریافت این کلید ها در طرف دیگر، تحت کلید محلی سیستم جدید رمز می شوند. بنابراین کلید هایی که در دامنه های یک ناحیه قرار دارند از دامنه ای به دامنه دیگر به صورتی که بیان گردید منتقل می شوند.

توکن K3